import Vue from 'vue'
import Vuex from 'vuex'

// 导入公共模板
// import common from './module/common'
import getters from './getters'

const moduleFn = require.context('./module', false, /\.js$/)
// 函数中绑定一个静态方法 keys 返回刚刚得到的文件列表 数组
const modules = moduleFn.keys().reduce((prev, curr) => {
  let key = curr.match(/\.\/(\w+)\.js$/)[1];
  let value = moduleFn(curr).default;
  // key值是一个变量，用中括号
  prev = { ...prev, [key]: { ...value, namespaced: true, } }
  return prev
}, {})

Vue.use(Vuex)

export default new Vuex.Store({
  getters,
  modules
  /* modules: {
    // key:value
    // common:common
    // key称为命名空间，默认只对state有作用，value就是导入的对象
    common
  } */
})
